import datetime
import os.path
import sys

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

class Driver:
    driver = ""
    def __init__(self):
        options = webdriver.ChromeOptions()
        #options.add_argument("-headless") #无头模式
        #options.page_load_strategy = 'eager' #更改页面加载策略,加快访问速度,但有可能会导致没有等待到元素加载出来就获取
        self.driver = webdriver.Chrome(service = Service(ChromeDriverManager().install()),options = options)
        self.driver.implicitly_wait(3)

    def getScreenShot(self):
        #先创建文件
        dirname = datetime.datetime.now().strftime('%Y-%m-%d')
        #如果没有找到文件夹就生成一个,不是在common文件夹生成文件夹,而是在总目录下生成一个带日期的文件夹
        if not os.path.exists("../images/"+dirname):
            os.mkdir("../images/"+dirname)

        filename = sys._getframe().f_back.f_code.co_name+"-"+datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")
        self.driver.save_screenshot("../images/"+dirname+"/"+filename+".png")
        #为了更好定位到照片信息,获取调用的方法名加进名字里
        #sys._getframe().f_back.f_code.co_name

TestDriver=Driver()    #4个测试文件都只用1个实例出来的对象